package com.yaowk.system.model;

import com.yaowk.system.model.base.BaseModule;

import java.util.List;

/**
 * @authc yaowk
 * 2017/4/19
 */
public class Module extends BaseModule<Module> {
    public static final Module dao = new Module();

    /**
     * 根据平台id伪删除模块数据
     *
     * @param platformId
     */
    public void deleteByPlatformId(Integer platformId) {
        List<Module> moduleList = findByPlatformId(platformId);
        for (Module module : moduleList) {
            module.set("status", 0).update();
        }
    }

    /**
     * 通过平台id和模块唯一标识查询模块
     *
     * @param platformId
     * @param sign
     * @return
     */
    public Module findByPlatFormIdAndSign(Integer platformId, String sign) {
        return findFirst(getSql("module.selectByPlatformIdAndSign"), platformId, sign);
    }

    /**
     * 初始化结束后修改被删除模块的配置
     *
     * @param platformId
     */
    public void updateRemarkOnInit(Integer platformId) {
        List<Module> moduleList = find(getSql("module.selectOnUpdateRemark"), platformId);
        for (Module module : moduleList) {
            module.set("remark", "模块在配置中不存在").update();
        }
    }

    /**
     * 根据平台id查询模块列表
     *
     * @param platformId
     * @return
     */
    public List<Module> findByPlatformId(Integer platformId) {
        return find(getSql("module.selectByPlatformId"), platformId);
    }
}
